
// Test_C_Log_WriterDlg.h : header file
//

#pragma once

#include "C_Log_Writer.h"
#include "afxwin.h"

// CTest_C_Log_WriterDlg dialog
class CTest_C_Log_WriterDlg : public CDialogEx
{
// Construction
public:
	CTest_C_Log_WriterDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	enum { IDD = IDD_TEST_C_LOG_WRITER_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support


// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()

    C_Log_Writer  *mp_C_Log_Writer;
public:
    afx_msg void OnBnClickedOk();
    afx_msg void OnBnClickedBtnOpenLogFile();
    afx_msg void OnBnClickedBtnCloseLogFile();
    CStatic m_log_file_state;
    afx_msg void OnBnClickedBtnOpenConsoleWindow();
    CStatic m_console_window_status;
    afx_msg void OnBnClickedBtnCloseConsoleWindow();
    afx_msg void OnBnClickedBtnWriteNullPointerToLog();
    CStatic m_write_null_pointer_to_log;

    unsigned int m_write_null_pointer_counter;
    unsigned int m_write_zero_length_counter;
    unsigned int m_write_legal_counter;
    WCHAR        m_directory_name[ MAX_PATH];
    unsigned int m_set_directory_count;
    unsigned int m_re_open_log_count;
    unsigned int m_is_log_file_open_count;

    afx_msg void OnBnClickedBtnEnableFileWrites();
    afx_msg void OnBnClickedBtnDisableFileWrites();
    CStatic m_file_write_enable_status;
    afx_msg void OnBnClickedBtnGetFileEnableStatus();
    afx_msg void OnBnClickedBtnEnableConsoleWrites();
    afx_msg void OnBnClickedBtnDisableConsoleWrites();
    CStatic m_console_write_enable_status;
    afx_msg void OnBnClickedBtnGetConsoleEnableStatus();
    afx_msg void OnBnClickedBtnWriteZeroLengthString();
    CStatic m_zero_length_write_status;
    afx_msg void OnBnClickedBtnWriteLegalString();
    CStatic m_write_legal_string_count;
    afx_msg void OnBnClickedBtnWriteStringTooLong();
    CStatic m_write_string_too_long;
    afx_msg void OnBnClickedBtnSetBadDirectory();
    CEdit m_user_directory_name;
    afx_msg void OnBnClickedBtnSetDirectory();
    CStatic m_directory_set_status;
    afx_msg void OnBnClickedBtnReOpenLogFile();
    CStatic m_reopen_log_file_status;
    afx_msg void OnBnClickedBtnIsLogFileOpen();
    CStatic m_is_log_file_open;
};
